home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swags_z.zip / SCREEN.SWG / 0036_Display Chars at $A000.pas < prev    next >
Pascal/Delphi Source File  |  1993-11-02  |  2KB  |  50 lines

  1. {
  2. >Does anyone know how display characters in 320x200x256 ($A000)??
  3. >I want to write letters on the screen, but how do I? Is there a
  4. >way without a special program???
  5.  
  6.   You need to use interrupt calls to the BIOS video routines to write a
  7.   character to the screen.  Include the DOS unit in your program as
  8.   you'll need it for the definition of "Intr" and "Registers" below:
  9. }
  10.  
  11. procedure SetCursorPosition(Column, Row : byte);
  12. var
  13.   reg : registers;
  14. begin
  15.    reg.AH := $02;
  16.    reg.BH := $00;    {* Display Page Number. 0 for Graphics Modes! *}
  17.    reg.DL := Column; {* Row/Column are Zero-Based! *}
  18.    reg.DH := Row;
  19.    intr($10, reg);
  20. end;
  21.  
  22. procedure WriteCharAtCursor(x : char; Color : byte);
  23. var
  24.   reg : registers;
  25. begin
  26.    reg.AH := $0A;
  27.    reg.AL := ord(x);
  28.    reg.BH := $00;    {* Display Page Number. * for Graphics Modes! *}
  29.    reg.BL := Color   {* For Graphics Modes only? *}
  30.    reg.CX := 1;      {* Word for number of characters to write *}
  31.    intr($10, reg);
  32. end;
  33.  
  34. {
  35. Use the first routine to set the cursor position and the second routine
  36. to write the character.  (I don't remember if writing a character will
  37. modify the cursor position or not--you'll have to play with that one).
  38. Play with these routines a bit and write another to output a string &
  39. you should be all set.  WARNING: the characters you write in 300x200
  40. mode will be very large and VIC-20-like....
  41.  
  42. I recommend you get a copy of Ron Brown's Interrupt List files
  43. (INTERnnA.ZIP through INTERnnC.ZIP, where nn is the current number--my
  44. guess if 34 or 35 by now).  I also have a copy of the "DOS Programmer's
  45. Reference 2nd Edition" (Que Books) which describes many of the
  46. Interrupts and how to interface with them in ASM, BASIC, C or Pascal,
  47. as well as how DOS, BIOS, VIDEO, etc. are arranged.  It is a VERY
  48. worthwhile reference....
  49. }
  50.